package ext;

import java.util.*;
import org.junit.*;

import util.TreeNode;

public class Byte1 {
    // 算法题 输入一个长度为4的数组，选择两位作为小时，两位作为分钟，返回24小时制的最小时间。
    //如果invalid input返回-1 例： [2,3,4,1] => 12:34 [5,5,5,5] => -1 [1,7,3,4] => 13:47
    public String minTime(int[] nums) {
        Arrays.sort(nums);
        if (nums[0] > 1) return "-1";
        if (nums[2] >= 6) {
            if (nums[1] >= 6) {
                return "-1";
            } else {
                int tmp = nums[1];
                nums[1] = nums[2];
                nums[2] = tmp;
            }
        }
        return nums[0] + "" + nums[1] + ":" + nums[2] + ""+ nums[3];
    }

    @Test
    public void test() {
        int[] nums = new int[]{1,7,3,6};
        System.out.println(minTime(nums));
    }


    public int pathCount(TreeNode root)  {
        res = 0;
        dfs(root, 0);
        return res;
    }

    int res;
    public void dfs(TreeNode root, int cur) {
        if (root == null) return;
        cur += root.val;
        if (root.left == null && root.right == null) {
            res += cur;
            return;
        }
        dfs(root.left, cur);
        dfs(root.right, cur);
    }

}
